#include <iostream>

template<typename T>
void swap1(T &a,T &b);

template<typename T>
void swap2(T *a,T *b);

template<typename T>
void swap1(T &a,T &b){
		b ^= a ^= b ^= a;
}

template<typename T>
void swap2(T *a,T *b){	
		*b ^= *a ^= *b ^= *a;
}
